[セッションレポート] Workflowsで生成AIをオーケストレートする DEV254 #GoogleCloudNext
Google Cloudでは、Vertex AIで生成AIを利用することができますが、システム化する上でオーケストレーターとしてどのサービスを採用しどのような運用にするとよいかはまだまだ試行錯誤中と思います。
Google Cloud Next '24の『Orchestrate generative AI with Workflows』セッションでは、Workflowsを利用したオーケストレートの実装例が紹介されました。実装例はGitHubに公開されていたり、これから生成AIをエンジンとして使ったシステム構築をしたい方には大変参考になるセッションでしたので、気になったところを簡単にまとめてご紹介します。
登壇者:Mete Atamel (Developer Advocate Google Cloud)
セッション概要
セッションは40分弱のものでしたが、ここでは気になった点について紹介できればと思います。気になった方はぜひセッションをご覧ください。
登壇資料とサンプルコード
このセッションの素晴らしい点として、なんといっても登壇資料とサンプルコードが公開されている点です。
セッション冒頭でも紹介されていますが、以下のリンクに格納されているのでご確認ください。
- https://speakerdeck.com/meteatamel/orchestrate-generative-ai-with-workflows
- https://github.com/GoogleCloudPlatform/workflows-demos/tree/master/vertexai
Vertex AIの呼び出し
Google CloudのほかのサービスへのリクエストはWorkflowsのコネクタを使った実装が紹介されていました。コネクタについては以下のガイドで説明されています。
Vertex AIへのリクエストはHTTPリクエストでこれらにリクエストを送るとよさそうだなという印象でした。projects.locations.endpoints
などRESTのエンドポイントに関するガイドも公開されています。
これらの情報はデモで紹介されているように、WorkflowのYAMLの定義の中に記述していきます。
LLM利用の実装例
ワークフローの実装例では、LLMを利用するためのWorkflowの実装例をいくつか紹介頂きました。内容としては、単にWorkflowを作ったというよりも、LLMの利用でありがちな課題をどのようにWorkflowを作ることで解決できるか分かる内容となっており、とても参考になりました。
※ workflows-demos/vertexai/parallel-summaries/より引用
GeminiによるWorkflows開発の支援
Workflowsのコンソールより、Quick Helpを利用して、Geminiによる支援を受けることができるようです。この機能はのちにプレビュー提供されるとのことでした。セッションでは、実装中の箇所のWorkflowsの仕様の説明などが紹介されました。
Workflowsを利用するメリット
ほかのサービスとの比較
Google Cloudでのオーケストレートの仕組みは、Workflowsに限らずいくつかあります。
例えば私が思いつく範囲だと、
- Cloud Composer
- Vertex AI Pipelines
- Workflows
- BigQueryのスケジュールクエリ(リモート接続でVertex AIを利用)
- Dataform(リモート接続でVertex AIを利用)
- Compute Engineに独自のワークフローエンジンを構築
などです。
Workflowsのメリットとしては以下があると考えています。
- マネージドサービスであること
- 条件分岐ができること
- 3rd Party製品もAPIが対応していればHTTPリクエストなどでワークフローに組み込めること
- プログラミング言語の習得なしにYAMLで書けること
こちらのメリットは、セッション中の以下のスライドでも紹介されていました。
私は以下で紹介したように、Vertex AI Pipelineによるオーケストレートの仕組みがよいかなと思っていたのですが、Google Cloud Pipeline Componentsで対応していないものもワークフローに組み込みたいときや、PythonによるコーディングではなくYAMLで書きたいとき(特に今後はGeminiによる支援があると思うので)はWorkflowsがよいかもしれません。
最後に
Google Cloudの生成AIを使った処理を自動化するため、オーケストレーターを選定する際に参考になる情報を、実際のコードやデモを交えて学ぶことができました。
YAMLでの記述でワークフローを定義できるため、それほどプログラミングに詳しくなくても始めやすい点も大きなポイントでした。
最後になりますが、Next '24 の翌週に帰国したばかりの現地参加メンバーが振り返り勉強会を行いますので是非とも現地でご参加ください!